﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using VNet.VisiSuite.Service.Contact.Message.Base;
using VNet.VisiSuite.Service.Contact.Message.Item;

namespace VNet.VisiSuite.Service.Contact.Message
{
    [DataContract(Namespace = VisiSuiteNamespace.Uri + "dto/AnalysisChartDataRequest")]
    public class AnalysisChartDataRequest : ServiceBaseRequest
    {
        [DataMember(IsRequired = true)]
        public IList<int> ListCellId { get; set; }
        [DataMember(IsRequired = true)]
        public IList<int> ListReasonCodeId { get; set; }
        [DataMember(IsRequired = true)]
        public IList<int> ListProductId { get; set; }
        [DataMember(IsRequired = true)]
        public IList<int> ListAreaShiftId { get; set; }

        [DataMember(IsRequired = true)]
        public bool IsAllCellIdSelected { get; set; }
        [DataMember(IsRequired = true)]
        public bool IsAllReasonCodeIdSelected { get; set; }
        [DataMember(IsRequired = true)]
        public bool IsAllProductIdSelected { get; set; }
        [DataMember(IsRequired = true)]
        public bool IsAllAreaShiftIdSelected { get; set; }

        [DataMember(IsRequired = true)]
        public DateTime FromDate { get; set; }
        [DataMember(IsRequired = true)]
        public DateTime ToDate { get; set; }

        [DataMember(IsRequired = true)]
        public bool DisplayScrapReasonCode { get; set; }
        [DataMember(IsRequired = true)]
        public bool SeparateOut { get; set; }

        [DataMember(IsRequired = true)]
        public int TopDowntimeLeft { get; set; }
        [DataMember(IsRequired = true)]
        public int TopDowntimeLeftBy { get; set; }

        [DataMember(IsRequired = true)]
        public int TopDowntimeRight { get; set; }
        [DataMember(IsRequired = true)]
        public int TopDowntimeRightBy { get; set; }

        [DataMember(IsRequired = true)]
        public int TopDowntimeBottom { get; set; }
        [DataMember(IsRequired = true)]
        public int TopDowntimeBottomBy { get; set; } 
    }
}
